package com.ilearn.iodata.iolingo.service.metadata.core.edm.mapper.api;



import com.ilearn.iodata.iolingo.service.metadata.core.edm.mapper.exception.ODataGenericModelException;

import java.util.List;

public interface GenericJoinTable {

  public String getTableName();

  public String getAlias(String dbFieldName);

  public String getInverseAlias(String dbFieldName);

  public GenericEntityType getEntityType();

  public List<GenericOnConditionItem> getJoinColumns() throws ODataGenericModelException;

  /**
   * Returns the list of inverse join columns with exchanged left/right order.
   * @return
   * @throws ODataGenericModelException
   */
  public List<GenericOnConditionItem> getInversJoinColumns() throws ODataGenericModelException;

}
